///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//
//package org.lsl.parser;
//
//import java.io.Reader;
//import java.io.StringReader;
//import java.util.logging.Level;
//import java.util.logging.Logger;
//import javax.swing.event.ChangeListener;
//import org.netbeans.modules.parsing.api.Snapshot;
//import org.netbeans.modules.parsing.api.Task;
//import org.netbeans.modules.parsing.spi.Parser;
//import org.netbeans.modules.parsing.spi.SourceModificationEvent;
//import org.lsl.jccparser.JavaParser;
//
//public class lslParser extends Parser {
//
//    private Snapshot snapshot;
//    private JavaParser javaParser;
//
//    @Override
//    public void parse (Snapshot snapshot, Task task, SourceModificationEvent event) {
//        this.snapshot = snapshot;
//        Reader reader = new StringReader (snapshot.getText ().toString ());
//        javaParser = new JavaParser (reader);
//        try {
//            javaParser.CompilationUnit ();
//        } catch (org.lsl.jccparser.ParseException ex) {
//            Logger.getLogger (lslParser.class.getName()).log (Level.WARNING, null, ex);
//        }
//    }
//
//    @Override
//    public Result getResult (Task task) {
//        return new lslParserResult (snapshot, javaParser);
//    }
//
//    @Override
//    public void cancel () {
//    }
//
//    @Override
//    public void addChangeListener (ChangeListener changeListener) {
//    }
//
//    @Override
//    public void removeChangeListener (ChangeListener changeListener) {
//    }
//
//
//    public static class lslParserResult extends Result {
//
//        private JavaParser javaParser;
//        private boolean valid = true;
//
//        lslParserResult (Snapshot snapshot, JavaParser javaParser) {
//            super (snapshot);
//            this.javaParser = javaParser;
//        }
//
//        public JavaParser getJavaParser () throws org.netbeans.modules.parsing.spi.ParseException {
//            if (!valid) throw new org.netbeans.modules.parsing.spi.ParseException ();
//            return javaParser;
//        }
//
//        @Override
//        protected void invalidate () {
//            valid = false;
//        }
//    }
//}
